如何修复损坏的(VBA)Excel / XLSM? (通常是“自动化错误(2147467259)未指定的错误”) 您所在的位置:网站首页 vba 自动化时错误 如何修复损坏的(VBA)Excel / XLSM? (通常是“自动化错误(2147467259)未指定的错误”)

如何修复损坏的(VBA)Excel / XLSM? (通常是“自动化错误(2147467259)未指定的错误”)

2023-08-19 11:00| 来源: 网络整理| 查看: 265

在Excel(2010)编程期间,我已经多次使XLSM文件崩溃。 (最后在调试期间) 结果是,要么

报告为损坏(有时可修复)或 导致整个Excel应用程序崩溃:-/或 使用消息"自动化错误(2147467259)未指定的错误"打开VBA编辑器,如果不使用任务管理器并杀死整个Excel实例,则无法再关闭Excel

如何获得原始或相同版本或修复它? (我们有一个版本跟踪系统,但是有时丢失的更改会很大)

打开一个新的工作簿,导航到损坏的文件,单击"打开并修复"(不仅仅是打开)。

相关讨论 是的 我在某处阅读了此内容,并且在Excel 2016中可用。就我而言,仅打开它就足够了-也许隐式地进行了一些自动修复。 也许。 如今,Excel非常聪明。 我从90年代后期开始使用它,与那时相比,我们现在处在更好的位置。

有时可以在打开工作簿时修复VBA代码执行。 如果automation error出现,则可能是由于某些未编译的代码(与诸如Open,Select,Activate事件或(重新)计算公式之类的触发功能结合使用)。

因此,这在很多情况下(尤其是在开发过程中)会有所帮助:

将MyFile.xlsm文件重命名为MyFile2.xlsm =>因此Activate Macro对话框将在下次打开时出现 不要Activate Macro,而是按F11(编辑代码或/和)VBA Editor => Menu => Debugging => Compile ...代码 关闭文件并重命名回MyFile.xlsm 打开时:选择Activate Macro

幸运的是,我们已经安装了一些Excel 2016,可以在其中打开它并保存为相同的XLSM文件。之后,可以用Excel 2010毫无问题地打开它:) (在Excel 2016中,可能还需要一个Open and Repair...选项-如ryguy72所述)。

(总的来说,最好有一个类似Mercurial,Git或某些版本化DMS的版本管理系统!)

顺便说一句:我们也可以在LibreOffice(6.0.6.2 64位)中打开并保存它,但是里面有太多与LibreOffice不兼容的格式(例如,图像与左侧行组合拢),功能(例如,命名表)等,因此生成的文件对我们来说不是很有用(但是对于其他人而言,这足够了-无需大量许可/安装麻烦)。

相关讨论 有时也以二进制XLSB格式保存会有所帮助。 大型XLSX或XLSM文件在正常使用后会损坏,我已经遇到了几个问题。 将它们转换为XLSB始终会使它们保持完整。? 对于相关数据,我仅信任XLSB。 有趣的是,有时它会在Excel 2016中损坏(XLSM),但在Excel 2010中打开它会起作用:)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有